using UnityEngine;

namespace GameCore
{
    public enum UIState
    {
        UIState_None = 0,
        UIState_LoginPage,                  // 登录
        UIState_GameHallPage,               //大厅
        UIState_LoadingPage,                //加载
        UIState_MJFightingPage,             //麻将战斗

    /// ___________________________________  梭哈独有代码
     
        UIState_SHLoginState,
        UIState_SHLoadingState,
        UIState_SHGameHallState,
    }

    public class UiStateManager : EntityState
    {
        //派生类静态字段被实例化。
        //派生类静态构造函数被调用。
        //派生类实例成员字段被实例化。
        //基类静态字段被实例化。
        //基类静态构造函数被调用。
        //基类实例成员字段被实例化。
        //基类构造函数被调用。
        //派生类构造函数被调用。
        public UiStateManager(int stateid, EntityState parent, GameObject gameObject)
            : base(stateid, parent, gameObject)
        {
        }

        protected override void OnStateInit()
        {
            //------------------注册状态机---------------------------
            AddSubState(new UIState_SHLoginState((int)UIState.UIState_SHLoginState, this));
            AddSubState(new UIState_SHLoadingState((int)UIState.UIState_SHLoadingState, this));
            AddSubState(new UIState_SHGameHallState((int)UIState.UIState_SHGameHallState, this));

            SetNextSubState((int)UIState.UIState_SHLoginState);
            base.OnStateInit();
        }


        //-------------------------------------------------------------------------
        protected override void OnStateBegin(object[] command)
        {
        }
        //-------------------------------------------------------------------------
        protected override void OnStateEnd()
        {
        }
        //-------------------------------------------------------------------------
        protected override void OnSubStateChanged(object[] command)
        {
        }
    }
}
